导航菜单
首页 >  c++  > 逗号运算符:,

逗号运算符:,

逗号运算符:,项目04/03/2023

允许对两个语句进行分组,其中有一个是预期的。

语法expression , expression备注

逗号运算符具有从左向右的关联性。 由逗号分隔的两个表达式将从左向右进行计算。 始终计算左操作数,并且在计算右操作数之前将完成所有副作用。

在某些上下文(如函数自变量列表)中,逗号可用作分隔符。 不要将该逗号用作分隔符与将其用作运算符的情况混淆;这两种用法完全不同。

请考虑表达式 e1, e2。 该表达式的类型和值是 e2 的类型和值;e1 的计算结果将被丢弃。 如果右操作数是左值,则结果为左值。

在通常将逗号用作分隔符的方案中(例如,在函数或聚合初始值设定项的自变量中),逗号运算符及其操作数必须包含在括号中。 例如:

func_one( x, y + 2, z );func_two( (x--, y + 2), z );

在上面的对 func_one 的函数调用中,会传递以逗号分隔的三个参数:x、y + 2 和 z。 在对 func_two 的函数调用中,圆括号强制编译器将第一个逗号解释为顺序计算运算符。 此函数调用将两个参数传递给 func_two。 第一个参数是顺序计算运算 (x--, y + 2) 的结果,具有表达式 y + 2 的值和类型;第二个参数为 z。

示例// cpp_comma_operator.cpp#include int main () {int i = 10, b = 20, c= 30;i = b, c;printf("%i\n", i);i = (b, c);printf("%i\n", i);}2030另请参阅

使用二元运算符的表达式C++ 内置运算符、优先级和关联性顺序评估运算符

相关推荐: